#ifndef _MONITOR_H
#define _MONITOR_H

#include <vector>
#include "Obstacle.h"
#include "Vectores.h"
#include "Nave.h"
class Character;

using namespace std;

class Monitor {
  friend class CApp;
  private:
    vector<Character*> characters;
    vector<Character*> enemys;
    vector<Platform*> platforms;
    Character *player;

  public:
    // Intervalo de curacion de los heals
    long intervalHeal;
    long oldTimeHeal;
    int total, actual;
    vector<Nave*> naves;
    Monitor(vector<Character*> ch,vector<Obstacle *>  ob,vector<Character *> en,Character *p);
    Monitor();
    vector<Character*> GetCharacters();
    void  SetCharacters(vector<Character*> c);
    vector<Obstacle*> GetObstacle();
    void  SetObstacle(vector<Obstacle*> o);
    vector<Character*> GetEnemys();
    vector<Character*>* GetEnemysApun();
    void  SetEnemys(vector<Character*> e);
    Character* GetPlayer();
    void  SetPlayer(Character* c);
    void isDeadAnyone();
    void UpdateData(Uint32 c,Uint32 o);
    void CleanUp();
    void OnInit();
    void Yells(Kinematic *k);
    void addPlatform(float p[3], int w,int h);
    Platform* getPlatform(float p[3]);
    void addPikmen(int x1, int y1);
    void addEnemy(int x1, int y1);
};

#endif
